// 为了解决不同类型的文件请求都成功
//   根据文件的后缀名判断

//  1 约定请求所有的页面  /static/home.html   
//  1 约定请求所有的css  /static/home.css  


const http = require('http') ;
const fs = require('fs') ;
const path = require('path') ;

const server = http.createServer((req , res) => {
    const result = req.url ;   //   /static/home.html     /static/home.css    /static/home.js


    // 静态资源处理   --- 前端页面路径处理
    if(/^\/static/.test(result)) {
        const {ext , base} = path.parse(result) ;
        console.log(ext , base);    // .html    home.html
        // switch(ext) {
        //     case '.html' :    fs.readFile('./client/views/' + base)
        //     case '.css' :     fs.readFile('./client/css/' + base)
        //     case '.js' :       fs.readFile('./client/js/' + base)
        // }
        // 拼接文件名路径
        let filename = './client/' ;
        switch(ext) {
            case '.html' :  filename += 'views/' ; break ;
            case '.css' :   filename += 'css/' ; break ;
            case '.js' :    filename += 'js/' ;  
        }
        filename += base ;    // ./client/html/home.html
        fs.readFile(filename , 'utf-8' , (err , data) => {
            res.end(data) ;
        })
    }

    // /api开头处理接口文件
    if(/^\/api/.test(result)) {
        if(result === '/api/reg') {
            console.log(req.method);   //  请求的方式   GET / POST
            if(req.method !== 'GET') {
                const info = {status : false , msg : '前端数据有误'} ;
                res.end(JSON.stringify(info)) ;
                return
            }
            
            // 注册接口
            // 取数据读取数据
            const info = {status : true , msg : '注册成功'} ;
            res.end(JSON.stringify(info)) ;
        }
    }
   
})

server.listen(2000 , () => console.log('服务正在运行...')) ;